import api from '@/api/index.js'
import request from '@/common/request.js'

function reBack(){
	// 返回上一个界面
	setTimeout(() => {    
			uni.navigateBack({
				delta: 1 // 返回的页面数
			});
	}, 3000);
}

function showTips(msg){
	uni.showToast({
		title: msg,
		duration: 3000
	});
}


/**
 * @param {Object} param
 *  新增数据
 */
async function add(url,param){
	await request.globalRequest(url, 'POST', params, 1).then(result => {
		console.log("222222");
		if(!result){
			uni.showToast({
				title: "保存失败",
				duration: 3000
			});
			return;
		}
		// 成功处理
		uni.showToast({
			title: "保存成功",
			duration: 3000
		});
		return result;
	}).catch(res => {
	　　// 失败进行的操作
		uni.showToast({
			title: "保存失败",
			duration: 3000
		});
		return;
	});
}


async function save(param){
	await api.write(param).then(result => {
		console.log("222222");
		if(!result){
			uni.showToast({
				title: "保存失败",
				duration: 3000
			});
			return;
		}
		// 成功处理
		uni.showToast({
			title: "保存成功",
			duration: 3000
		});
		return result;
	}).catch(res => {
	　　// 失败进行的操作
		uni.showToast({
			title: "保存失败",
			duration: 3000
		});
		return;
	});
}


function commit(param){
	request.commit(param).then(result => {
		if(!result){
			this.showTips("提交失败");
			return;
		}
		// 成功处理
		this.showTips("提交成功");
		this.reBack();
		
	}).catch(res => {
	　　// 失败进行的操作
		this.showTips("提交失败");
		return;
	});
}

function reBackPrePage(){
	// 返回上一步
	setTimeout(() => {   
		// 返回上一页并传值第二种方法，多次访问物料会调用前一个界面多次，数据重复刷新
		// 1. 获取当前页面栈实例（此时最后一个元素为当前页）
		let pages = getCurrentPages(); 
			 
		// 2. 上一页面实例
		// 注意是length长度，所以要想得到上一页面的实例需要 -2
		// 若要返回上上页面的实例就 -3，以此类推
		let prevPage = pages[pages.length -2];
		if(prevPage && prevPage.$page && prevPage.$page.fullPath != "/pages/index/index"){
			// 3. 给上一页面实例绑定getValue()方法和参数（注意是$vm）
			prevPage.$vm.initLoadMoreData(); 
			prevPage.$vm.queryFormList(); 
		}
		// 4. 返回上一页面
		uni.navigateBack({
			delta: 1 // 返回的页面数
		});
	}, 2000);
}

module.exports = {
	save,
	commit,
	reBackPrePage
}